<%-- 
    Document   : indexGrupos
    Created on : 09-jul-2012, 15:27:37
    Author     : Administrador
--%>
<%@page import="com.javabeans.GrupoHorario"%>
<%@page import="com.javabeans.MateriaPensum"%>
<%@page import="com.javabeans.Gestion"%>
<%@page import="com.javabeans.Grupo"%>
<%@page import="com.javabeans.Materia"%>
<%@page import="com.javabeans.Carrera"%>
<%@include file="../../../controlSession.jsp" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
    int i = 0;
    int idCarrera = 0;
    Gestion gestion = new Gestion();
    if(request.getAttribute("idCarrera") != null){
        idCarrera = (Integer)request.getAttribute("idCarrera");
        gestion = (Gestion)request.getAttribute("gestion");
    }
    List<Carrera> carreras = (List<Carrera>)request.getAttribute("carreras");
    List<Gestion> gestiones = (List<Gestion>)request.getAttribute("gestiones");
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>SI-ESFM </title>
        <meta name="description" content="Derechos Reservados SI-ESFM." />
        <link rel="stylesheet" href="<%=s_path%>/css/styles.css" type="text/css" />
        <link rel="stylesheet" href="<%=s_path%>/css/menu/style.css" type="text/css" />
        <link rel="shortcut icon" href="<%=s_path%>/images/ico.png" type="image/png"/>
        
        <script type="text/javascript" src="<%=s_path%>/js/jquery-1.7.2.min.js"></script>
        <script type="text/javascript" src="<%=s_path%>/js/comun.js"></script>
    </head>
    <script type="text/javascript">
    <%    
        i=0;
        out.println(" gestiones = new Array();");
        for(Gestion g:gestiones){
            out.print(" gestiones["+i+"] = new Array("+g.getIdGestion()+","+g.getIdFacultad()+",'"+g.getNombre()+"');");
            i++;
        }    
    %>
        $(document).ready(function(){
           // boton add Unidad Academica
           $.fn.newGrupo = function(idGestion,idCarrera){
               location.href = "Administracion?accion=127&idGestion="+idGestion+"&idCarrera="+idCarrera;
           }
           $.fn.editar = function(idGestion,idGrupo,idCarrera){
               location.href = "Administracion?accion=128&idGestion="+idGestion+"&idGrupo="+idGrupo+"&idCarrera="+idCarrera;
           }
           
           $.fn.eliminar = function(idGestion,idGrupo,idCarrera,nroGrupo,nomCarrera){
               if(confirm("¿Esta seguro de eliminar el grupo numero "+nroGrupo+" de la especialidad "+nomCarrera+"?")){
                   $.ajax({
                        url: "Administracion",
                        type: "GET",
                        data:{ accion:132,idGestion:idGestion,idGrupo:idGrupo,idCarrera:idCarrera,nomCarrera:nomCarrera},
                        success:function(res){
                            $('#listGrupos').html(res);
                        },
                        error: function(res){ alert("Error! al eliminar el grupo!"); }
                    });
               }
           }
           
           $.fn.darBaja = function(idGestion,idGrupo,idCarrera,nroGrupo,nomCarrera){
               var motivoBaja = ""; 
               if(confirm("¿Esta seguro de dar de baja el grupo numero "+nroGrupo+" de la especialidad "+nomCarrera+"?")){
                   $.ajax({
                        url: "Administracion",
                        type: "GET",
                        data:{ accion:133,idGestion:idGestion,idGrupo:idGrupo},
                        success:function(res){
                            res = parseInt(res, 10);
                            if(res == 0){// no existe alumnos
                                motivoBaja = prompt("Ingrese el Motivo de Baja: ");
                                $.ajax({
                                    url: "Administracion",
                                    type: "GET",
                                    data:{ accion:134,idGestion:idGestion,idGrupo:idGrupo,idCarrera:idCarrera,nomCarrera:nomCarrera,motivoBaja:motivoBaja},
                                    success:function(res){
                                        $('#listGrupos').html(res);
                                    },
                                    error: function(res){ alert("Error! al dar de baja el grupo!"); }
                                });
                            }else{
                                if(confirm("El grupo tiene alumnos inscritos. ¿Desea continuar para dar de baja el grupo?")){
                                    motivoBaja = prompt("Ingrese el Motivo de Baja: ");
                                    if(motivoBaja != null){
                                        $.ajax({
                                            url: "Administracion",
                                            type: "GET",
                                            data:{ accion:134,idGestion:idGestion,idGrupo:idGrupo,idCarrera:idCarrera,nomCarrera:nomCarrera,motivoBaja:motivoBaja},
                                            success:function(res){
                                                $('#listGrupos').html(res);
                                            },
                                            error: function(res){ alert("Error! al dar de baja el grupo!"); }
                                        });
                                    }else
                                        alert("Se cancelo la transacci&oacute;n!");
                                }
                            }
                        },
                        error: function(res){ alert("Error! al eliminar el grupo!"); }
                    });
               }
           }
           
           $.fn.darAlta = function(idGestion,idGrupo,idCarrera,nroGrupo,nomCarrera,motivoBaja){
               if(confirm("¿Esta seguro de dar de alta el grupo numero "+nroGrupo+" de la especialidad "+nomCarrera+"?")){
                   $.ajax({
                        url: "Administracion",
                        type: "GET",
                        data:{ accion:135,idGestion:idGestion,idGrupo:idGrupo,idCarrera:idCarrera,nomCarrera:nomCarrera,motivoBaja:motivoBaja},
                        success:function(res){
                            $('#listGrupos').html(res);
                        },
                        error: function(res){ alert("Error! al eliminar el grupo!"); }
                    });
               }
           }
           
           // cambio de pais
            $("#idCarrera").change(function(){
                $("#idCarrera option:selected").each(function (){
                    idCarrera = $(this).val();//idcarre_idFac; 3_1
                    i = idCarrera.indexOf("_");//1
                    if(i != -1){
                        idFacultad = idCarrera.substring(i+1);
                        idCarrera = idCarrera.substring(0, i);
                        texto_insertar = '';
                        j = 0;
                        for(i=0;i<gestiones.length;i++){
                            if(idFacultad == gestiones[i][1]){
                                texto_insertar += '<option value="'+gestiones[i][0]+'">'+gestiones[i][2]+'</option>';
                                j++;
                            }
                        }
                        switch(j){
                            case 0 : $("#idGestion").html("<option value=''>Seleccione</option>"); break;
                            case 1 : $("#idGestion").html(texto_insertar); break;
                            default : $("#idGestion").html("<option value=''>Seleccione</option>"+texto_insertar);
                        }
                    }
                    nomCarrera = $(this).text();
                    i = nomCarrera.indexOf(",");
                    nomCarrera = $.trim(nomCarrera.substring(i+1));
                    if(idCarrera != ""){
                        
                    }else{
                        $("#listGrupos").html("");
                    }
                });
            });
            
            $("#botonVerGrupos").click(function() {
                idCarrera = $("#idCarrera").val();
                idGestion = $("#idGestion").val();
                if(idCarrera == ""){
                    alert("Seleccione una carrera");
                    $("#idCarrera").focus();
                }else if(idGestion == ""){
                    alert("Seleccione una Gestion");
                    $("#idGestion").focus();
                }else{
                    i = idCarrera.indexOf("_");
                    idCarrera = idCarrera.substring(0, i);
                    nomCarrera = "";
                    $("#idCarrera option:selected").each(function (){
                        nomCarrera = $(this).text();
                        i = nomCarrera.indexOf(",");
                        nomCarrera = $.trim(nomCarrera.substring(i+1));
                    });
                    $.ajax({
                        type: 'GET',
                        url: 'Administracion',
                        data:{ accion:126,idCarrera:idCarrera,idGestion:idGestion,nomCarrera:nomCarrera},
                        success: function(res){
                            $('#listGrupos').html(res);
                        },
                        error:function(){alert("Error! al mostrar los grupo.")}
                    });
                }
            });
        });

        function resetGestion(){
            document.getElementById("idCarrera").selectedIndex = 0;
        }
        
        // muestra oculta
        function mostrarOcultar(){
            if(document.getElementById("gruposInactivo").style.display == 'none'){
                document.getElementById("gruposInactivo").style.display = 'block';
                document.getElementById("verOcultar").value = "Ocultar Bajas";
                document.getElementById("verOcultar").title="Pulsa aqui para ocultar bajas";
            }else{
                document.getElementById("gruposInactivo").style.display = 'none';
                document.getElementById("verOcultar").value = "Mostrar Bajas"
                document.getElementById("verOcultar").title="Pulsa aqui para mostrar bajas";
            }
        }
    </script>
    <body onload="showTime(<%=s_param%>)">
        <div id="top-wrap">
            <!-- cabeza principal -->
            <%@include file="../../../head.jsp" %>
            <!-- cuerpo -->
            <div id="bodySpace">               
                <!-- aqui va la ruta -->
                <div class="clearfix" id="middle">
                    <!-- aqui va el arbol de entrada -->
                    <div id="breadcrumb"><!-- le da la forma de la imagen -->
                        <ul>
                        <li><a href="<%=s_path%>/principal.jsp">Home</a></li>
                        <li><span style="color:#666">Administraci&oacute;n</span></li>
                        <li class="current-page"><span class="end"><span class="middle">Administraci&oacute;n Grupos</span></span></li>
                        </ul>
                        <!-- para la hora -->
                        <div style="clear: both;position: absolute;text-align: right;width: 100%;"><span id="fechaServ"></span>&nbsp;&nbsp;<span id="horaServ" style=""></span>&nbsp;</div>
                    </div><!-- begin SIDEBAR FIRST -->
                </div>
                <div id="principal">
                    <!-- todo el cuerpo disponible para el area de trabajo -->
                    <div class="cuerpoCompleto" style="border: 0px solid">
                        <div class="innerLeft" style="border: 0px solid">
                            <!-- supuestamente aca biene el contenido -->
                            <label for="idCarrera"><b>SELECCIONE UNA ESPECIALIDAD :&nbsp;</b></label>
                            <select name="idCarrera" id="idCarrera"  title="Seleccione una especialidad">
                                <option value="">Seleccione</option>
                            <%
                                for(Carrera c : carreras)
                                    out.println("   <option value='"+c.getIdCarrera()+"_"+c.getIdFacultad()+"' "+((idCarrera == c.getIdCarrera())?"selected":"")+" >"+c.getFacultad().getNombre()+", "+c.getNombre()+"</option>");
                            %>    
                            </select>&nbsp;&nbsp;
                            <label for="idCarrera"><b>SELECCIONE UNA GESTI&Oacute;N :&nbsp;</b></label>
                            <select name="idGestion" id="idGestion"  title="Seleccione una Gesti&oacute;n">
                                <option value="">Seleccione</option>
                            <%
                                if(idCarrera != 0){
                                    for(Gestion g : gestiones)
                                        out.println("   <option value='"+g.getIdGestion()+"' "+((g.getIdGestion() == gestion.getIdGestion())?"selected":"")+" >"+g.getNombre()+"</option>");
                                }
                            %>    
                            </select>&nbsp;&nbsp; 
                            <input type="button" id="botonVerGrupos" value="Ver Grupos" class="boton" title="Pulsa aqui para ver los grupos" />
                            
                            <center>
                                <div id="listGrupos">
                            <%
                            if(idCarrera != 0){
                                String nomCarrera = (String)request.getAttribute("nomCarrera");
                                List<Grupo> grupos = (List<Grupo>)request.getAttribute("grupos");
                                List<Grupo> gruposInactivos = (List<Grupo>)request.getAttribute("gruposInactivo");
                                out.println("<h2 class='decorado'>Grupos de la especialidad ''"+nomCarrera+"'' gesti&oacute;n "+gestion.getNombre()+"</h2>");
                                out.println("<table class='miReporte' style='width: 100%'>");
                                out.println("    <tr>");
                                out.println("        <td style='text-align: right'><input type='button' class='boton' value='Nuevo Grupo' onclick='$.fn.newGrupo("+gestion.getIdGestion()+","+idCarrera+")'/></td>");
                                out.println("    </tr>");
                                out.println("</table>");
                                out.println("<table class='tabla_decorado' style='width: 100%'>");
                                out.println("    <thead>");
                                out.println("        <tr>");
                                out.println("            <th width='25%' class='th_decoradoRowspan'>MATERIA(S)</th>");
                                out.println("            <th width='5%' class='th_decoradoRowspan'>GRUPO</th>");
                                out.println("            <th width='25%' class='th_decoradoRowspan'>DOCENTE</th>");
                                out.println("            <th width='4%' class='th_decoradoRowspan'>CUPO</th>");
                                out.println("            <th width='5%' class='th_decoradoRowspan'>INSCRITOS</th>");
                                out.println("            <th width='22%' class='th_decoradoRowspan'>HORARIO(S)</th>");
                                out.println("            <th width='14%' class='th_decoradoRowspan' colspan='3'>ACCIONES</th>");
                                out.println("        </tr>");
                                out.println("    </thead>");
                                out.println("    <tbody>");
                                i = 0;
                                int j = 1;
                                String aux = "";
                                for(Grupo g : grupos){
                                    aux = "";
                                    List<MateriaPensum> materiasP = g.getMateriasPensum();
                                    if(materiasP.size() == 1){
                                        Materia m = (Materia)materiasP.get(0).getMateria();
                                        aux = m.getNombre();
                                    }else{
                                        for(MateriaPensum mp:materiasP){
                                            Carrera c = mp.getMateria().getCarrera();
                                            aux += c.getNombre()+": "+mp.getMateria().getNombre()+" <br/>";
                                        }
                                        i = aux.lastIndexOf(",");
                                        if(i != -1)
                                            aux = aux.substring(0, i);
                                    }
                                    out.println("        <tr class='tr_decorado'>");
                                    out.println("            <td class='th_decorado'>"+aux+"</td>");
                                    out.println("            <td class='th_decorado'>"+g.getNroGrupo()+"</td>");
                                    out.println("            <td class='th_decorado'>"+g.getDocente().getNombre()+"</td>");
                                    if(g.isLimitado())
                                        out.println("        <td class='th_decorado'>"+g.getCupo()+"</td>");
                                    else
                                        out.println("        <td class='th_decorado'>ILIMITADO</td>");
                                    out.println("            <td class='th_decorado'>"+g.getInscritos()+"</td>");
                                    aux = "";
                                    for(GrupoHorario gh:g.getGrupoHorarios()){
                                        aux += gh.getDiaSemana().getNombre()+", "+gh.getPeriodoDia().getHoraIni()+" - "+gh.getPeriodoDia().getHoraFin()+", Aula: "+gh.getAula().getNro()+" <br/>";
                                    }
                                    out.println("            <td class='th_decorado'>"+aux+"</td>");
                                    out.println("            <td class='td_decoradoDerecha' style='text-align: center'>");
                                    out.println("                <input type='button' value='Modificar' onClick='$.fn.editar("+g.getIdGestion()+","+g.getIdGrupo()+","+idCarrera+")' class='botonRep' title='Pulsa aqui para modificar el grupo'/>");
                                    out.println("            </td>");
                                    out.println("            <td class='td_decoradoDerecha' style='text-align: center'>");
                                    out.println("                <input type='button' value='Dar Baja' onClick='$.fn.darBaja("+g.getIdGestion()+","+g.getIdGrupo()+","+idCarrera+","+g.getNroGrupo()+",\""+nomCarrera+"\")' class='botonRep' title='Pulsa aqui para dar de baja'/>");
                                    out.println("            </td>");
                                    out.println("            <td class='td_decoradoDerecha' style='text-align: center'>");
                                    out.println("                <input type='button' value='Eliminar' onClick='$.fn.eliminar("+g.getIdGestion()+","+g.getIdGrupo()+","+idCarrera+","+g.getNroGrupo()+",\""+nomCarrera+"\")' class='botonRep' title='Pulsa aqui para eliminar el GRUPO'/>");
                                    out.println("            </td>");
                                    out.println("        </tr>");
                                    i++;
                                    j++;
                                }
                                if(j == 1){
                                    out.write("<tr class='tr_decorado'>");
                                    out.write("     <td class='td_decorado' colspan='9' style='text-align:center'><span style='color:red'>No existe grupos de la especialidad ''"+nomCarrera+"'' en la gesti&oacute; "+gestion.getNombre()+"!</span></td>");
                                    out.write("</tr>");
                                }
                                out.println("    </tbody>");
                                out.println("</table>");
                                out.println("<br/>");
                                
                                out.println("<!-- boton que muestra y oculta los departamentos dedos de baja -->");
                                out.println("<table class='miReporte' style='width: 100%'>");
                                out.println("    <tr>");
                                out.println("        <td style='text-align: right'><input type='button' name='verOcultar' id='verOcultar' value='Mostrar Bajas' onclick='mostrarOcultar()' class='boton' title='Pulsa aqui para mostrar bajas'/></td>");
                                out.println("    </tr>");
                                out.println("</table>      <br/><br/>");

                                // =========================== GRUPOS DADOS DE BJA ============================
                                out.println("<div id='gruposInactivo' style='display:none'>");

                                out.println("<h2 class='decorado'>Grupos dados de baja</h2>");
                                out.println("<table class='tabla_decorado' style='width: 100%'>");
                                out.println("    <thead>");
                                out.println("        <tr>");
                                out.println("            <th width='22%' class='th_decoradoRowspan'>MATERIA(S)</th>");
                                out.println("            <th width='5%' class='th_decoradoRowspan'>GRUPO</th>");
                                out.println("            <th width='22%' class='th_decoradoRowspan'>DOCENTE</th>");
                                out.println("            <th width='4%' class='th_decoradoRowspan'>CUPO</th>");
                                out.println("            <th width='5%' class='th_decoradoRowspan'>INSCRITOS</th>");
                                out.println("            <th width='15%' class='th_decoradoRowspan'>MOTIVO DE BAJA</th>");
                                out.println("            <th width='22%' class='th_decoradoRowspan'>HORARIO(S)</th>");
                                out.println("            <th width='5%' class='th_decoradoRowspan'>ACCIONES</th>");
                                out.println("        </tr>");
                                out.println("    </thead>");
                                out.println("    <tbody>");
                                i = 0;
                                j = 1;
                                aux = "";
                                for(Grupo g : gruposInactivos){
                                    aux = "";
                                    List<MateriaPensum> materiasP = g.getMateriasPensum();
                                    if(materiasP.size() == 1){
                                        Materia m = (Materia)materiasP.get(0).getMateria();
                                        aux = m.getNombre();
                                    }else{
                                        for(MateriaPensum mp:materiasP){
                                            Carrera c = mp.getMateria().getCarrera();
                                            aux += c.getNombre()+": "+mp.getMateria().getNombre()+" <br/>";
                                        }
                                        i = aux.lastIndexOf(",");
                                        if(i != -1)
                                            aux = aux.substring(0, i);
                                    }
                                    out.println("        <tr class='tr_decorado'>");
                                    out.println("            <td class='th_decorado'>"+aux+"</td>");
                                    out.println("            <td class='th_decorado'>"+g.getNroGrupo()+"</td>");
                                    out.println("            <td class='th_decorado'>"+g.getDocente().getNombre()+"</td>");
                                    if(g.isLimitado())
                                        out.println("        <td class='th_decorado'>"+g.getCupo()+"</td>");
                                    else
                                        out.println("        <td class='th_decorado'>ILIMITADO</td>");
                                    out.println("            <td class='th_decorado'>"+g.getInscritos()+"</td>");
                                    out.println("            <td class='th_decorado'>"+g.getMotivoBaja()+"</td>");
                                    aux = "";
                                    for(GrupoHorario gh:g.getGrupoHorarios()){
                                        aux += gh.getDiaSemana().getNombre()+", "+gh.getPeriodoDia().getHoraIni()+" - "+gh.getPeriodoDia().getHoraFin()+", Aula: "+gh.getAula().getNro()+" <br/>";
                                    }
                                    out.println("            <td class='th_decorado'>"+aux+"</td>");
                                    out.println("            <td class='td_decoradoDerecha' style='text-align: center'>");
                                    out.println("                <input type='button' value='Dar Baja' onClick='$.fn.darAlta("+g.getIdGestion()+","+g.getIdGrupo()+","+idCarrera+","+g.getNroGrupo()+",\""+nomCarrera+"\",\""+g.getMotivoBaja()+"\")' class='botonRep' title='Pulsa aqui para dar de baja'/>");
                                    out.println("            </td>");
                                    out.println("        </tr>");
                                    i++;
                                    j++;
                                }
                                if(j == 1){
                                    out.write("<tr class='tr_decorado'>");
                                    out.write("     <td class='td_decorado' colspan='7' style='text-align:center'><span style='color:red'>No existe grupos dados de baja de la especialidad ''"+nomCarrera+"'' en la gesti&oacute; "+gestion.getNombre()+"!</span></td>");
                                    out.write("</tr>");
                                }
                                out.println("    </tbody>");
                                out.println("</table>");
                                out.println("<br/>");
                                
                                out.println("</div> <!-- end id='carrerasBaja' -->");
                            }
                            %>
                                </div> <!-- End id="listGrupos" -->
                            </center>
                        </div>
                    </div><!--end of leftPan-->
                </div><!--end of content-wrapper-->
            </div><!--end of body-wrap-->
            <!-- footer -->
        </div>
    </body>
</html>


